home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / The World of Computer Software.iso / quasrsql.zip / SQL.H < prev    next >
Text File  |  1991-12-05  |  8KB  |  255 lines

  1. /*
  2.  * SQL.H - Header file for Quasar SQL Application Programming Interface
  3.  *
  4.  * LANGUAGE      : Microsoft C6.0
  5.  * MODEL         : N/A
  6.  * ENVIRONMENT   : Microsoft Windows 3.0
  7.  *
  8.  * Developed by:
  9.  *   Philip Roll
  10.  *   Ming-Li Wang
  11.  *
  12.  * (C) Copyright 1991
  13.  * Stellar Industries
  14.  * 3335 S. Falcon Ridge Road
  15.  * Diamond Bar  CA 91765
  16.  * (714) 861-7885
  17.  *
  18.  */
  19.  
  20. /*
  21.  *
  22.  * Data classes:
  23.  *
  24.  */
  25.  
  26. #define mSqlDataClassAPPROXIMATE        0
  27. #define mSqlDataClassBINARY             1
  28. #define mSqlDataClassCHAR               2
  29. #define mSqlDataClassEXACT              3
  30. #define mSqlDataClassINVALID            4
  31.  
  32. /*
  33.  *
  34.  * Data types:
  35.  *
  36.  */
  37.  
  38. #define mSqlDataTypeBINARY              0
  39. #define mSqlDataTypeCHAR                1
  40. #define mSqlDataTypeDECIMAL             2
  41. #define mSqlDataTypeDOUBLE              3
  42. #define mSqlDataTypeFLOAT               4
  43. #define mSqlDataTypeINTEGER             5
  44. #define mSqlDataTypeNUMERIC             6
  45. #define mSqlDataTypeREAL                7
  46. #define mSqlDataTypeSMALLINT            8
  47. #define mSqlDataTypeVARCHAR             9
  48. #define mSqlDataTypeINVALID             10
  49.  
  50. /*
  51.  *
  52.  * Error codes:
  53.  *
  54.  */
  55.  
  56. #define mSqlErrorAmbiguousColumn        1
  57. #define mSqlErrorBadEnvironment         2
  58. #define mSqlErrorBinaryNotAllowed       3
  59. #define mSqlErrorCannotActivateFile     4
  60. #define mSqlErrorCannotCloseFile        5
  61. #define mSqlErrorCannotCloseLog         6
  62. #define mSqlErrorCannotCreateDataFile   7
  63. #define mSqlErrorCannotCreateDumpFile   8
  64. #define mSqlErrorCannotCreateFile       9
  65. #define mSqlErrorCannotCreateKeyFile    10
  66. #define mSqlErrorCannotCreateLog        11
  67. #define mSqlErrorCannotDeleteFile       12
  68. #define mSqlErrorCannotDropSystemAdmin  13
  69. #define mSqlErrorCannotDropTable        14
  70. #define mSqlErrorCannotOpenDataFile     15
  71. #define mSqlErrorCannotOpenFile         16
  72. #define mSqlErrorCannotOpenKeyFile      17
  73. #define mSqlErrorCannotOpenLog          18
  74. #define mSqlErrorCannotRemoveTable      19
  75. #define mSqlErrorCannotRevokeByColumn   20
  76. #define mSqlErrorCharNotAllowed         21
  77. #define mSqlErrorCheckpointDetected     22
  78. #define mSqlErrorDataFileCorrupted      23
  79. #define mSqlErrorDatabaseCorrupt        24
  80. #define mSqlErrorDbaNotAvailable        25
  81. #define mSqlErrorDivideByZero           26
  82. #define mSqlErrorDuplicateColumn        27
  83. #define mSqlErrorDuplicateRecord        28
  84. #define mSqlErrorExistingDataFile       29
  85. #define mSqlErrorExistingKeyFile        30
  86. #define mSqlErrorFileReadFailed         31
  87. #define mSqlErrorFileSeekFailed         32
  88. #define mSqlErrorFileWriteFailed        33
  89. #define mSqlErrorGlobalAllocFailed      34
  90. #define mSqlErrorGlobalFreeFailed       35
  91. #define mSqlErrorGlobalLockFailed       36
  92. #define mSqlErrorGlobalUnlockFailed     37
  93. #define mSqlErrorImportParseError       38
  94. #define mSqlErrorIncompatibleTypes      39
  95. #define mSqlErrorIndexExists            40
  96. #define mSqlErrorIndexUndoFailed        41
  97. #define mSqlErrorInitializationFailed   42
  98. #define mSqlErrorInsufficientBuffer     43
  99. #define mSqlErrorInternalError          44
  100. #define mSqlErrorInvalidColumnSpec      45
  101. #define mSqlErrorInvalidColumnType      46
  102. #define mSqlErrorInvalidCursor          47
  103. #define mSqlErrorInvalidData            48
  104. #define mSqlErrorInvalidEscapeChar      49
  105. #define mSqlErrorInvalidPattern         50
  106. #define mSqlErrorInvalidUser            51
  107. #define mSqlErrorKeyFileCorrupted       52
  108. #define mSqlErrorListSizesUnequal       53
  109. #define mSqlErrorLockTableFailure       54
  110. #define mSqlErrorMaximumKeySizeExceeded 55
  111. #define mSqlErrorMultipleSelects        56
  112. #define mSqlErrorNoColumnExists         57
  113. #define mSqlErrorNoIndexExists          58
  114. #define mSqlErrorNoOldRecord            59
  115. #define mSqlErrorNoTableExists          60
  116. #define mSqlErrorNoUserExists           61
  117. #define mSqlErrorNodeSizeTooSmall       62
  118. #define mSqlErrorNotAggregate           63
  119. #define mSqlErrorNotGroupingColumn      64
  120. #define mSqlErrorNotInGroupedTable      65
  121. #define mSqlErrorNotSingleRecord        66
  122. #define mSqlErrorNoUserSlotsAvailable   67
  123. #define mSqlErrorNullInNotNullCol       68
  124. #define mSqlErrorNullNotAllowed         69
  125. #define mSqlErrorParserSyntaxError      70
  126. #define mSqlErrorParserStackOverflow    71
  127. #define mSqlErrorPrecisionConflict      72
  128. #define mSqlErrorResultTableExists      73
  129. #define mSqlErrorScaleOverflow          74
  130. #define mSqlErrorSecurityViolation      75
  131. #define mSqlErrorSetFunctionsNested     76
  132. #define mSqlErrorStarNotAllowed         77
  133. #define mSqlErrorSubqueryNotOneColumn   78
  134. #define mSqlErrorSystemAdminRequired    79
  135. #define mSqlErrorTableConflict          80
  136. #define mSqlErrorTableExists            81
  137. #define mSqlErrorTooManyColumnNames     82
  138. #define mSqlErrorTooManyTablesOpen      83
  139. #define mSqlErrorTrialSizeExceeded      84
  140. #define mSqlErrorVariableHeaderMark     85
  141. #define mSqlErrorVariableHeaderSize     86
  142. #define mSqlErrorVariableHeaderWrong    87
  143. #define mSqlErrorVariableHeaderZero     88
  144. #define mSqlErrorWrongVersion           89
  145.  
  146. /*
  147.  *
  148.  * Record structure formats:
  149.  *
  150.  */
  151.  
  152. #define mSqlFlagFormatPadded            0x0000
  153. #define mSqlFlagFormatString            0x0001
  154. #define mSqlFlagFormatStructure         0x0002
  155.  
  156. /*
  157.  *
  158.  * Auto commit options:
  159.  *
  160.  */
  161.  
  162. #define mSqlFlagAutoCommitOnLogout      0x0010
  163.  
  164. /*
  165.  *
  166.  * Maximum number of characters in a key:
  167.  *
  168.  */
  169.  
  170. #define mSqlMaximumKeySize              192
  171.  
  172. /*
  173.  *
  174.  * Maximum number of significant characters in named entity:
  175.  *
  176.  */
  177.  
  178. #define mSqlMaximumNameLength           32
  179.  
  180. /*
  181.  *
  182.  * Global types:
  183.  *
  184.  */
  185.  
  186. typedef struct tagSQLCOLUMN {
  187.   BOOL            bRightJustified;
  188.   char            szColumnHeading[mSqlMaximumNameLength + 1];
  189.   unsigned        nColumnSequenceNumber;
  190.   unsigned        nDataClass;
  191.   unsigned        nDataType;
  192.   unsigned        nFieldWidth;
  193.   unsigned        nPrecision;
  194.   unsigned        nScale;
  195. }               SQLCOLUMN;
  196. typedef SQLCOLUMN *PSQLCOLUMN;
  197. typedef SQLCOLUMN far *LPSQLCOLUMN;
  198.  
  199. typedef struct tagSQLCONTROL {
  200.   char            szErrorDetail[65];
  201.   char            szErrorMessage[257];
  202.   unsigned        nHiLiteLength;
  203.   unsigned        nHiLiteOffset;
  204.   unsigned        nPadding;
  205.   unsigned        nRecordBufferSize;
  206.   unsigned        nResultCode;
  207.   unsigned long   lRecordPosition;
  208.   unsigned long   lReserved0;
  209.   unsigned long   lReserved1;
  210.   unsigned long   lReserved2;
  211.   unsigned long   lReserved3;
  212.   unsigned long   lReserved4;
  213.   WORD            wFlags;
  214. }               SQLCONTROL;
  215. typedef SQLCONTROL *PSQLCONTROL;
  216. typedef SQLCONTROL far *LPSQLCONTROL;
  217.  
  218. typedef struct tagSQLSTATUS {
  219.   unsigned long   lNumberOfRecordDeletes;
  220.   unsigned long   lNumberOfRecordInserts;
  221.   unsigned long   lNumberOfRecordSelects;
  222.   unsigned long   lNumberOfRecordUpdates;
  223.   unsigned long   lTimeElapsed;
  224. }               SQLSTATUS;
  225. typedef SQLSTATUS *PSQLSTATUS;
  226. typedef SQLSTATUS far *LPSQLSTATUS;
  227.  
  228. typedef struct tagSQLTABLE {
  229.   unsigned        nNumberOfColumns;
  230.   unsigned        nRecordSize;
  231.   unsigned long   lNumberOfRecords;
  232. }               SQLTABLE;
  233. typedef SQLTABLE *PSQLTABLE;
  234. typedef SQLTABLE far *LPSQLTABLE;
  235.  
  236. /*
  237.  *
  238.  * Function prototypes:
  239.  *
  240.  */
  241.  
  242. BOOL FAR PASCAL SqlCursorClose(HANDLE, HANDLE, LPSQLCONTROL);
  243. HANDLE FAR PASCAL SqlCursorOpen(HANDLE, LPSQLCONTROL);
  244. BOOL FAR PASCAL SqlDescribeColumn(HANDLE, HANDLE, LPSQLCONTROL, unsigned, LPSQLCOLUMN);
  245. BOOL FAR PASCAL SqlDescribeTable(HANDLE, HANDLE, LPSQLCONTROL, LPSQLTABLE);
  246. BOOL FAR PASCAL SqlExecute(HANDLE, HANDLE, LPSQLCONTROL, LPSTR);
  247. BOOL FAR PASCAL SqlFetchFirst(HANDLE, HANDLE, LPSQLCONTROL, LPSTR);
  248. BOOL FAR PASCAL SqlFetchLast(HANDLE, HANDLE, LPSQLCONTROL, LPSTR);
  249. BOOL FAR PASCAL SqlFetchNext(HANDLE, HANDLE, LPSQLCONTROL, LPSTR);
  250. BOOL FAR PASCAL SqlFetchPositioned(HANDLE, HANDLE, LPSQLCONTROL, unsigned long, LPSTR);
  251. BOOL FAR PASCAL SqlFetchPrevious(HANDLE, HANDLE, LPSQLCONTROL, LPSTR);
  252. BOOL FAR PASCAL SqlGetStatus(HANDLE, HANDLE, LPSQLCONTROL, LPSQLSTATUS);
  253. HANDLE FAR PASCAL SqlLogin(LPSQLCONTROL, LPSTR, LPSTR);
  254. BOOL FAR PASCAL SqlLogout(HANDLE, LPSQLCONTROL);
  255.